// pages/search/index.js
import { request } from "../../request/index"
Page({
  data: {
    inputlist:[],
    isFocus:false,
    val:''
  },
  TimeId:-1,
  //一.
  // 1.输入框绑定值改变input事件
  // 2.合法性判断是否有值
  // 3.验证通过把值发送给后台
  // 4.返回的数据保存到data中，并打印到页面上
  //二.防抖
  //1.防抖一般是输入框中防止重复输入 重复发送请求
  //2.定义一个定时器刚开始输入第一个字符时，关掉定时器这里其实可以当作不执行，然后下一步就执行定时器一秒后在向后台要数据，就这样输入第二个字符时，关掉了上一个定时器相当于第一个定时器中的代码还没发送，就关闭了，直到不输入时，定时器中的代码才执行
  handleInput(e){
    const {value} = e.detail;
    if(!value.trim()){
      this.setData({
        inputlist:[],
        isFocus:false
      })
      return;
    }

    this.setData({
      isFocus:true
    })
    clearTimeout(this.TimeId)
    this.TimeId = setTimeout(()=>{
      this.qsearch(value)
    },1000)
  },
  hidetap(){
    this.setData({
      inputlist:[],
      isFocus:false,
      val:''
    })
  },
  //发送请求获取建议数据
  getinputlist(url){
    request({url:url})
    .then(result=>{
      console.log(result)
      this.setData({
        inputlist:result.data.message.goods
      })
    })
  },
  qsearch(query){
    this.getinputlist("/goods/search?query="+query)
  },
  //一种方法 bindtap="getDetail" data-id="{{item.goods_id}}
  // getDetail(e){
  //   console.log(e)
  //   const id = e.currentTarget.dataset.id
  //   wx.navigateTo({
  //     url: '/pages/goos_detail/index?goods_id='+id,
  //   })
  // },
  onLoad: function (options) {
    
   
  },
})